#!/usr/bin/env ruby
#
# Test for util.rb
#

require 'test/unit'
require File.join(File.dirname(__FILE__),'../script/util')

include Util

class UtilTest < Test::Unit::TestCase 
  
  def setup

  end
  
  def teardown

  end

  def test_to_camel_case
    assert_equal nil,        Util::to_camel_case(nil)
    assert_equal '',         Util::to_camel_case('')
    assert_equal 'A',        Util::to_camel_case('a')
    assert_equal 'A',        Util::to_camel_case('A')
    assert_equal 'Aa',       Util::to_camel_case('aa')
    assert_equal 'Aa',       Util::to_camel_case('Aa')
    assert_equal 'AA',       Util::to_camel_case('aA')
    assert_equal 'AA',       Util::to_camel_case('AA')
    assert_equal 'AaB',      Util::to_camel_case('aaB')
    assert_equal 'AaB',      Util::to_camel_case('AaB')
    assert_equal 'AAB',      Util::to_camel_case('aAB')
    assert_equal 'AAB',      Util::to_camel_case('AAB')
    assert_equal 'AaBc',     Util::to_camel_case('aaBc')
    assert_equal 'AaBc',     Util::to_camel_case('AaBc')
    assert_equal 'AABc',     Util::to_camel_case('aABc')
    assert_equal 'AABc',     Util::to_camel_case('AABc')
    assert_equal 'AaBC',     Util::to_camel_case('aaBC')
    assert_equal 'AaBC',     Util::to_camel_case('AaBC')
    assert_equal 'AABC',     Util::to_camel_case('aABC')
    assert_equal 'AABC',     Util::to_camel_case('AABC')
  end

  def test_un_camel_case
    assert_equal nil,         Util::un_camel_case(nil)
    assert_equal '',          Util::un_camel_case('')
    assert_equal 'a',         Util::un_camel_case('a')
    assert_equal 'ab',        Util::un_camel_case('ab')
    assert_equal 'abc',       Util::un_camel_case('abc')
    assert_equal 'A',         Util::un_camel_case('A')
    assert_equal 'Ab',        Util::un_camel_case('Ab')
    assert_equal 'a Ab',      Util::un_camel_case('aAb')
    assert_equal 'a A b',     Util::un_camel_case('aA b')
    assert_equal 'a  Ab',     Util::un_camel_case('a Ab')
    assert_equal 'Ab B',      Util::un_camel_case('AbB')
    assert_equal 'a Ab B',    Util::un_camel_case('aAbB')
    assert_equal 'a A b B',   Util::un_camel_case('aA bB')
    assert_equal 'a  Ab B',   Util::un_camel_case('a AbB')
    assert_equal 'Ab B C',    Util::un_camel_case('AbBC')
    assert_equal 'a Ab B C',  Util::un_camel_case('aAbBC')
    assert_equal 'a A b B C', Util::un_camel_case('aA bBC')
    assert_equal 'a  Ab B C', Util::un_camel_case('a AbBC')
  end

end
